#ifndef _ALIOT_DM_
#define _ALIOT_DM_
#include "cJSON.h"

typedef enum
{
    ALIOT_DM_POST,
    ALIOT_DM_SET_ACK,
    ALIOT_DM_EVENT,
}ALIOT_DM_TYPE;

// 物模型
typedef struct
{
    cJSON *dm_js;
    char  *dm_js_str;
    int    data_len;
}ALIOT_DM_DES;

ALIOT_DM_DES* aliot_malloc_dm(ALIOT_DM_TYPE dm_type);
void aliot_free_dm(ALIOT_DM_DES* dm);
void aliot_set_property_ack(ALIOT_DM_DES* dm,int code,const char* message);
void aliot_dm_serialize(ALIOT_DM_DES* dm);

#endif